const BaseCheck = require("../base/baseCheck")

class Check extends BaseCheck {

	constructor() {
		super()
	}

	/**
	 * 校验时间
	 */
	static _checkData(ctx) {
		ctx.yb_validate.default('date', new Date())
	}

	/**
	 * 获取前端流程日志列表
	 * @param ctx
	 */
	static webCheckList(ctx) {
		ctx.yb_validate.toBoolean('sort', true)
		ctx.yb_validate.toInt('startTime', 0)
		ctx.yb_validate.toInt('endTime', new Date().getTime())
		ctx.yb_validate.isString('selKey', '')
		ctx.yb_validate.isString('conditions', '')
		this.checkPaging(ctx)
	}

	/**
	 *
	 * @param ctx
	 */
	static removeOne(ctx) {
		this.checkId(ctx, 'id')
	}

	/**
	 * 添加前端流程日志
	 */
	static addWebProcess(ctx) {
		ctx.yb_validate.isStrings([
			'routerPath',
			'routerQuery',
			'routerParams',
			'routerName',
			'userAgent',
			'userName',
			'defaultTag'
		])
		this._checkData(ctx)
	}

	/**
	 * 添加前端Ajax日志
	 */
	static addWebAjax(ctx) {
		ctx.yb_validate.isStrings([
			'url',
			'reqType',
			'params',
			'success',
			'userAgent',
			'userName',
			'defaultTag'
		])
		ctx.yb_validate.isString('err', '')
		this._checkData(ctx)
	}

	/**
	 * 添加前端Error日志
	 */
	static addWebError(ctx) {
		ctx.yb_validate.isStrings([
			'errMsg',
			'info',
			'domClass',
			'userAgent',
			'userName',
			'defaultTag',
			'routerPath'
		])
		this._checkData(ctx)
	}
}

module.exports = Check
